Fast, Parallel Algorithm for Multiplying Polynomials with Integer Coefficients

نویسنده

  • Andrzej Chmielowiec
چکیده

This paper aims to develop and analyze an effective parallel algorithm for multiplying polynomials and power series with integer coefficients. Such operations are of fundamental importance when generating parameters for public key cryptosystems, whereas their effective implementation translates directly into the speed of such algorithms in practical applications. The algorithm has been designed specifically to accelerate the process of generating modular polynomials, but due to its good numerical properties it may surely be used to solve other computational problems as well. The basic idea behind this new method was to adapt it to parallel computing. Nowadays, it is a very important property, as it allows to fully exploit the computing power offered by modern processors. The combination of the Chinese Remainder Theorem and the Fast Fourier Transform made it possible to develop a highly effective multiplication method. Under certain conditions, it is asymptotically faster than the algorithm based on Fast Fourier Transform when applied to multiply both: numbers and polynomials. Undoubtedly, this result is the major theoretical conclusion of this paper.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Can you save time in multiplying polynomials by encoding them as integers?

Encoding a univariate polynomial as a long integer conceptually unifies some processing tasks on polynomials with those on integers, including multiplication. An evaluation of a polynomial at a single point is sufficient to encode and decode all its coefficients if the point is sufficiently larger than the coefficients. This is sometimes referred to as “Kronecker’s trick”. We show that this ide...

متن کامل

Can you save time in multiplying polynomials by encoding them as integers?/revised 2010

Encoding a univariate polynomial as a long integer conceptually unifies some processing tasks on polynomials with those on integers, including multiplication. An evaluation of a polynomial at a single point is sufficient to encode and decode all its coefficients if the point is sufficiently larger than the coefficients. This is sometimes referred to as “Kronecker’s trick”. We show that this ide...

متن کامل

Efficient Multiplication of Polynomials on Graphics Hardware

We present the algorithm to multiply univariate polynomials with integer coefficients efficiently using the Number Theoretic transform (NTT) on Graphics Processing Units (GPU). The same approach can be used to multiply large integers encoded as polynomials. Our algorithm exploits fused multiply-add capabilities of the graphics hardware. NTT multiplications are executed in parallel for a set of ...

متن کامل

Polynomial division and its computational complexity

(i) First we show that all the known algorithms for polynomial division can be represented as algorithms for triangular Toeplitz matrix inversion. In spite of the apparent difference of the algorithms of these two classes, their strong equivalence is demonstrated. (ii) Then we accelerate parallel division of two polynomials with integer coefficients of degrees at most m by a factor of log m com...

متن کامل

On The Parallelization Of Integer Polynomial Multiplication

With the advent of hardware accelerator technologies, multi-core processors and GPUs, much effort for taking advantage of those architectures by designing parallel algorithms has been made. To achieve this goal, one needs to consider both algebraic complexity and parallelism, plus making efficient use of memory traffic, cache, and reducing overheads in the implementations. Polynomial multiplica...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012